package uit.sample.actions;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.actions.MappingDispatchAction;

import uit.sample.beans.Book;
import uit.sample.business.BookService;



public class SearchSubmit extends MappingDispatchAction {
	
	private BookService bookService;
	public BookService getBookService() {
		return bookService;
	}

	public void setBookService(BookService bookService) {
		this.bookService = bookService;
	}

	public ActionForward searchSubmit(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws IOException, ServletException {

		DynaActionForm searchForm = (DynaActionForm) form;
		String isbn = (String) searchForm.get("isbn");
		
        Book book = getBookService().read(isbn.trim());

		if (null == book) {
			ActionErrors errors = new ActionErrors();
			errors.add(ActionErrors.GLOBAL_ERROR,new ActionError("message.notfound"));
			saveErrors(request, errors);
			return mapping.findForward("failure") ;
		}

		request.setAttribute("book", book);
		return mapping.findForward("success");
	}

}
